nominees[, `:=`(
  clean_category = tolower(gsub('.{7}$', '', category)),
  title = tolower(title),
  producer = tolower(producer),
  distributor = tolower(distributor)

)]


nom90 <- nominees %>% filter(year >= 1990)


shows <-
  nom90 %>%
  group_by(title, type) %>%
  summarise(no = n()) %>%
  spread (type, no)
`summarise()` has grouped output by 'title'. You can override using the `.groups` argument.
shows[is.na(shows)] <- 0
shows$totalType <- shows$Nominee + shows$Winner
shows$totalTypeRatio <- shows$Winner / shows$Nominee

# Top 20 shows by:
# Winners
WStop20 <-  shows[order(-shows$Winner),][1:10,]
WStop20Sort <- WStop20[order(WStop20$totalType),]
WStop20Sort$title <- as.factor(WStop20Sort$title)



viz_dbar <- function(df, xaxis1, xaxis2, yaxis, xname1, xname2) {
  fig <- plot_ly(
    df,
    x = xaxis1,
    y = yaxis,
    type = 'bar',
    text = xaxis1,
    textposition = 'auto',
    orientation = 'h',
    name = xname1,
    marker = list(
      color = 'rgba(153, 153, 153, 0.6)',
      line = list(color = 'rgba(153, 153, 153, 1.0)', width = 3)
    )
  )
  
  fig <- fig %>% add_trace(
    x = xaxis2,
    name = xname2,
    text = xaxis2,
    textposition = 'auto',
    marker = list(
      color = 'rgba(255, 153, 0, 0.6)',
      line = list(color = 'rgba(255, 153, 0, 1.0)', width = 3)
    )
  )
  fig <- fig %>% layout(
    barmode = 'stack',
    xaxis = list(title = "Nominee and Winners"),
    yaxis = list(
      categoryorder = "array",
      categoryarray = yaxis,
      ticksuffix = " "
    )
  )
  
  
  fig
}

viz_dbar(
  WStop20Sort,
  WStop20Sort$Nominee,
  WStop20Sort$Winner,
  WStop20Sort$title,
  "Nominee",
  "Winner"
)
NA
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpsaWJyYXJ5KHBsb3RseSkNCmBgYA0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQ0KDQp0dWVzZGF0YSA8LSB0aWR5dHVlc2RheVI6OnR0X2xvYWQoJzIwMjEtMDktMjEnKQ0KdHVlc2RhdGEgPC0gdGlkeXR1ZXNkYXlSOjp0dF9sb2FkKDIwMjEsIHdlZWsgPSAzOSkNCm5vbWluZWVzIDwtIGFzLmRhdGEudGFibGUodHVlc2RhdGEkbm9taW5lZXMpDQpgYGANCg0KYGBge3J9DQpub21pbmVlc1ssIGA6PWAoDQogIGNsZWFuX2NhdGVnb3J5ID0gdG9sb3dlcihnc3ViKCcuezd9JCcsICcnLCBjYXRlZ29yeSkpLA0KICB0aXRsZSA9IHRvbG93ZXIodGl0bGUpLA0KICBwcm9kdWNlciA9IHRvbG93ZXIocHJvZHVjZXIpLA0KICBkaXN0cmlidXRvciA9IHRvbG93ZXIoZGlzdHJpYnV0b3IpDQoNCildDQoNCg0Kbm9tOTAgPC0gbm9taW5lZXMgJT4lIGZpbHRlcih5ZWFyID49IDE5OTApDQpgYGANCg0KDQpgYGB7ciBCZXN0IHNob3c6IERvdWJsZSBiYXJjaGFydH0NCg0KDQpzaG93cyA8LQ0KICBub205MCAlPiUNCiAgZ3JvdXBfYnkodGl0bGUsIHR5cGUpICU+JQ0KICBzdW1tYXJpc2Uobm8gPSBuKCkpICU+JQ0KICBzcHJlYWQgKHR5cGUsIG5vKQ0KDQpzaG93c1tpcy5uYShzaG93cyldIDwtIDANCnNob3dzJHRvdGFsVHlwZSA8LSBzaG93cyROb21pbmVlICsgc2hvd3MkV2lubmVyDQpzaG93cyR0b3RhbFR5cGVSYXRpbyA8LSBzaG93cyRXaW5uZXIgLyBzaG93cyROb21pbmVlDQoNCiMgVG9wIDIwIHNob3dzIGJ5Og0KIyBXaW5uZXJzDQpXU3RvcDIwIDwtICBzaG93c1tvcmRlcigtc2hvd3MkV2lubmVyKSxdWzE6MTAsXQ0KV1N0b3AyMFNvcnQgPC0gV1N0b3AyMFtvcmRlcihXU3RvcDIwJHRvdGFsVHlwZSksXQ0KV1N0b3AyMFNvcnQkdGl0bGUgPC0gYXMuZmFjdG9yKFdTdG9wMjBTb3J0JHRpdGxlKQ0KDQoNCg0Kdml6X2RiYXIgPC0gZnVuY3Rpb24oZGYsIHhheGlzMSwgeGF4aXMyLCB5YXhpcywgeG5hbWUxLCB4bmFtZTIpIHsNCiAgZmlnIDwtIHBsb3RfbHkoDQogICAgZGYsDQogICAgeCA9IHhheGlzMSwNCiAgICB5ID0geWF4aXMsDQogICAgdHlwZSA9ICdiYXInLA0KICAgIHRleHQgPSB4YXhpczEsDQogICAgdGV4dHBvc2l0aW9uID0gJ2F1dG8nLA0KICAgIG9yaWVudGF0aW9uID0gJ2gnLA0KICAgIG5hbWUgPSB4bmFtZTEsDQogICAgbWFya2VyID0gbGlzdCgNCiAgICAgIGNvbG9yID0gJ3JnYmEoMTUzLCAxNTMsIDE1MywgMC42KScsDQogICAgICBsaW5lID0gbGlzdChjb2xvciA9ICdyZ2JhKDE1MywgMTUzLCAxNTMsIDEuMCknLCB3aWR0aCA9IDMpDQogICAgKQ0KICApDQogIA0KICBmaWcgPC0gZmlnICU+JSBhZGRfdHJhY2UoDQogICAgeCA9IHhheGlzMiwNCiAgICBuYW1lID0geG5hbWUyLA0KICAgIHRleHQgPSB4YXhpczIsDQogICAgdGV4dHBvc2l0aW9uID0gJ2F1dG8nLA0KICAgIG1hcmtlciA9IGxpc3QoDQogICAgICBjb2xvciA9ICdyZ2JhKDI1NSwgMTUzLCAwLCAwLjYpJywNCiAgICAgIGxpbmUgPSBsaXN0KGNvbG9yID0gJ3JnYmEoMjU1LCAxNTMsIDAsIDEuMCknLCB3aWR0aCA9IDMpDQogICAgKQ0KICApDQogIGZpZyA8LSBmaWcgJT4lIGxheW91dCgNCiAgICBiYXJtb2RlID0gJ3N0YWNrJywNCiAgICB4YXhpcyA9IGxpc3QodGl0bGUgPSAiTm9taW5lZSBhbmQgV2lubmVycyIpLA0KICAgIHlheGlzID0gbGlzdCgNCiAgICAgIGNhdGVnb3J5b3JkZXIgPSAiYXJyYXkiLA0KICAgICAgY2F0ZWdvcnlhcnJheSA9IHlheGlzLA0KICAgICAgdGlja3N1ZmZpeCA9ICIgIg0KICAgICkNCiAgKQ0KICANCiAgDQogIGZpZw0KfQ0KDQp2aXpfZGJhcigNCiAgV1N0b3AyMFNvcnQsDQogIFdTdG9wMjBTb3J0JE5vbWluZWUsDQogIFdTdG9wMjBTb3J0JFdpbm5lciwNCiAgV1N0b3AyMFNvcnQkdGl0bGUsDQogICJOb21pbmVlIiwNCiAgIldpbm5lciINCikNCg0KYGBgDQoNCmBgYHtyIEJlc3Qgc2hvdzogfQ0KDQoNCg0KYGBg